# -*- coding: utf-8 -*-
"""
Created on Mon Apr 20 17:22:54 2015

@author: hc
"""
'''
Python天天美味(14) - splitlines 



Python中的splitlines用来分割行。当传入的参数为True时，表示保留换行符 \n。通过下面的例子就很明白了:
'''
#import string

mulLine = """Hello!!!
 Wellcome to Python's world!
    There are a lot of interesting things!
        Enjoy yourself. Thank you!"""

print ''.join(mulLine.splitlines())
print '------------'
print ''.join(mulLine.splitlines(True))
'''
输出结果：
Hello!!! Wellcome to Python's world!    There are a lot of interesting things!        Enjoy yourself. Thank you!
 ------------
 Hello!!!
  Wellcome to Python's world!
     There are a lot of interesting things!
         Enjoy yourself. Thank you!

利用这个函数，就可以非常方便写一些段落处理的函数了，比如处理缩进等方法。如Cookbook书中的例子：
'''

def addSpaces(s, numAdd):
    white = " "*numAdd
    return white + white.join(s.splitlines(True))
def numSpaces(s):
    return [len(line)-len(line.lstrip( )) for line in s.splitlines( )]
def delSpaces(s, numDel):
    if numDel > min(numSpaces(s)):
        raise ValueError, "removing more spaces than there are!"
    return '\n'.join([ line[numDel:] for line in s.splitlines( ) ])
def unIndentBlock(s):
    return delSpaces(s, min(numSpaces(s)))










